#ifndef _FIG_UI_LEVELSELECT_H_
#define _FIG_UI_LEVELSELECT_H_

#include "fig_mogaui_state.h"


class GENGameState;

class FIGUILevelSelect: public FIGMOGAUIState
{
public:

		
	FIGUILevelSelect(camera::FbCamera*	pCamera);
	

	virtual bool		OnEnter();
    virtual	bool		Tick(float dt);
	virtual void		KeyPressed(input::Keyboard::KEY* pKey);


	void DELEGATE_CALL	OnButtonEasy(ui::UIWidget::WIDGET_EVENT Event, ui::UIWidget* pWidget);
	void DELEGATE_CALL	OnButtonNormal(ui::UIWidget::WIDGET_EVENT Event, ui::UIWidget* pWidget);
	void DELEGATE_CALL	OnButtonHard(ui::UIWidget::WIDGET_EVENT Event, ui::UIWidget* pWidget);

	void DELEGATE_CALL	OnButtonLevel_1(ui::UIWidget::WIDGET_EVENT Event, ui::UIWidget* pWidget);
	void DELEGATE_CALL	OnButtonLevel_2(ui::UIWidget::WIDGET_EVENT Event, ui::UIWidget* pWidget);
	void DELEGATE_CALL	OnButtonLevel_3(ui::UIWidget::WIDGET_EVENT Event, ui::UIWidget* pWidget);
	void DELEGATE_CALL	OnButtonLevel_4(ui::UIWidget::WIDGET_EVENT Event, ui::UIWidget* pWidget);

	void DELEGATE_CALL	OnButtonLevel_5(ui::UIWidget::WIDGET_EVENT Event, ui::UIWidget* pWidget);
	void DELEGATE_CALL	OnButtonLevel_6(ui::UIWidget::WIDGET_EVENT Event, ui::UIWidget* pWidget);
	void DELEGATE_CALL	OnButtonLevel_7(ui::UIWidget::WIDGET_EVENT Event, ui::UIWidget* pWidget);
	void DELEGATE_CALL	OnButtonLevel_8(ui::UIWidget::WIDGET_EVENT Event, ui::UIWidget* pWidget);

	
	void DELEGATE_CALL  OnButtonPlay(ui::UIWidget::WIDGET_EVENT Event, ui::UIWidget* pWidget);
    void DELEGATE_CALL  OnButtonFullVersion(ui::UIWidget::WIDGET_EVENT Event, ui::UIWidget* pWidget);

	
	virtual bool		OnUIKeyDownEvent(int KeyCode);
	
protected:

	void				SelectLevel(int LevelNumber);

	void				RefreshByDifficulty();
	void				EnableDisableCheckBox(	bool Value, 
												const std::string& pCheckBoxName,
												const std::string& pTextWidgetName);

	
	void				RefreshUI();  
	void				HandleMOGADpad(int KeyCode);

	ui::UICheckBox*		m_pUIEasy;
	ui::UICheckBox*		m_pUINormal;
	ui::UICheckBox*		m_pUIHard;

	ui::UIWidget*		m_pUIBuyFullVersion;
	ui::UIWidget*		m_pUIPlayButton;

	math::Vec2			m_FirstButtonPos;
	math::Vec2			m_SecondButtonPos;
	
	
	
	



};


#endif //_PVI_UI_WRAPPER_H_